var Login = new Class({
	"Extends":js.underas.container.ModWindow
	,"idOrganizacao":0
	,"idPerfil":""
	,"idUsuario":0	
	,"amAviso":null
	,"notifys":null
	,"itlogin":null
	,"itsenha":null
	,"itPerfil":null
	,"btEntrar":null
	,"initialize":function(){
		this.parent("Login");
		this.setRevision("$Revision: 160 $");
		this.setSize(4);
		this.getEle().addClass("col-sm-offset-4 col-xs-offset-0");
		
		this.amAviso = new js.underas.controller.AlertMsg("");
		this.amAviso.show(false);
		this.append(this.amAviso);
		
		this.itlogin = new js.underas.controller.InputEmail("");	 
		this.itlogin.setLabel("login");
		this.itlogin.setPlaceHolder("digite seu login");
		this.itlogin.setSize(12);
		this.itlogin.setIcon("user");
		this.append(this.itlogin);
		
		this.itsenha = new js.underas.controller.InputPassWord("");
		this.itsenha.setLabel("senha");
		this.itsenha.setPlaceHolder("digite sua senha");
		this.itsenha.setSize(12);
		this.append(this.itsenha);
		/*
		this.itPerfil = new js.underas.controller.Select("Selecione um perfil!");
		this.itPerfil.setLabel("perfil");
		this.itPerfil.setValueField("_id");
		this.itPerfil.setLabelField("descricao");
		this.itPerfil.setSize(12);
		this.append(this.itPerfil);		
		*/	
		
		this.btEntrar = new js.underas.controller.Button("Logar");		
		this.btEntrar.addEvent("click",this.logar.bind(this));
		this.append(this.btEntrar);		
	}
	,"onStart":function(){
		this.getModView().showNav(false);
		//this.itPerfil.fromService("perfil/getsimpleperfil");
		/*	
		js.underas.net.RequestManager.addRequest({
			"url":"/perfil/perfil",
			"puid":this.getVarModule(),
			"onLoad" : function(dta) {
				var mainMenu = new js.underas.container.MenuTab({"title":"InfoAta 3.1","target":"#sidebar"});
				mainMenu.setDataProvider(dta[0].menus);
				mainMenu.setIcon('assets/logo_title.jpg');
			}.bind(this)
		});
		*/
	}
	,"logar":function(){  
	   
	   if(!this.itlogin.isValid()){
		   this.itlogin.setValid(false);
		   this.amAviso.setText("Login invalido!");
		   this.amAviso.setType(js.underas.controller.AlertMsg.TP_ERROR);
		   this.amAviso.show(true);	  
		   return false;
	   }else{
		   this.itlogin.setValid(true);
		   this.amAviso.show(false);	
	   };
	   if(!this.itsenha.isValid()){
		   this.itsenha.setValid(false);
		   this.amAviso.setText("Digite uma senha!");
		   this.amAviso.setType(js.underas.controller.AlertMsg.TP_ERROR);
		   this.amAviso.show(true);
		   return false;
	   }else{
		   this.itsenha.setValid(true);
		   this.amAviso.show(false);	
	   };
		
	   js.underas.net.RequestManager.addRequest({
		   "puid":this.getVarModule()
		   ,"url":"usuario/usuario/logar"
		   ,"method":"get"
		   ,"data":{
				"login":this.itlogin.getValue()
				,"senha":this.itsenha.getValue()
		   }
		   ,"onLoad":function(dta){
		   	if(dta==true){
	           this.amAviso.show(false);           
	           this.getDados();	           
		   	}else{
		   		this.amAviso.setText("Login ou senha invalidos!");
		   		this.amAviso.setType(js.underas.controller.AlertMsg.TP_ERROR);
		   		this.amAviso.show(true);	   		
		   		//_gaq.push(['_trackEvent', 'usuario.business.UsuarioBLL.logar', 'invalido']);
		   	}
	   }.bind(this)});
	  
	}
	,"getDados":function(){
		js.underas.net.RequestManager.addRequest({
			"url":"usuario/usuario/getbylogin/"+this.itlogin.getValue()
			,"puid":this.getVarModule()
			,"onLoad" : function(dta) {
				//console.log(dta);
				if(dta){
					this.idOrganizacao = dta.idOrganizacao;
					this.idUsuario = dta._id;
					this.idPerfil = dta["perfis"][0].idPerfil;	
					this.getMenusByIdPerfil(this.idPerfil);
				}
			}.bind(this)
		});
	}
	,"logOff":function() {	
		var mainMenu = new new js.underas.container.MenuTab({"title":"InfoAta 3.1","target":"#sidebar"});
		mainMenu.setDataProvider([]);
		$$("#navbarlist li").setStyle("display","none");
		login.itlogin.setValue("");
		login.itsenha.setValue("");
		login.getModView().show(true).showNav(true);
	}
	,"autoLogin":function() {		
		var tl = js.underas.core.Underas.getUrlParam("login");
		var ts = js.underas.core.Underas.getUrlParam("senha");	
		if(tl!=""){
			login.itlogin.setValue(tl);
			login.itsenha.setValue(ts);
			login.logar();
		}
	}
	,"getMenusByIdPerfil":function(p_idPerfil) {
		js.underas.net.RequestManager.addRequest({
			//"s" : "MenuBLL.getMenusByIdGrupo",
			//"format":js.underas.net.RequestManager.TP_JSONP,
			"url":"perfil/perfil/"+p_idPerfil,
			//"s" : "menu.business.MenuBLL.getMenusByLoginUsuario",
			//"p" : loginusuario,
			"puid":this.getVarModule(),
			//"p" : 1,
			"onLoad" : function(dta) {
				var mainMenu = new js.underas.container.MenuTab({"title":"InfoAta 3.1","target":"#sidebar"});
				mainMenu.setDataProvider(dta[0].menus);
				mainMenu.setIcon('assets/logo_title.jpg');

				//setTimeout(NotificacaoS.getByIdGrupo(), 5000);
				this.getModView().show(false).showNav(false);
				//login.getNotificaoes();

			}.bind(this)
		});
	}
	,"getNotificaoes":function(){
		js.underas.net.RequestManager.addRequest({
			"s" : "notificacao.business.ConfigNotificacaoBLL.getValidasByIdGrupo",
			//"m":"notificacao",
			"puid":"login",
			"p" : login.idGrupo,
			"onLoad" : function(dtas) {			
				login.notifys = new ArrayList(dtas.rs);				
				var tmL = login.notifys.size();
				if(tmL > 0){					
					var plogin = login.itlogin.getValue();
					var pidOrganizacao = login.idOrganizacao;
					var pidGrupo = login.idGrupo;
					var	pidUsuario = login.idUsuario;
					
					for(var y = 0;y < tmL;y++){						
						  var tmpS = login.notifys.get(y)["servicoCount"];
						  var tmpM = 'none'; 
						  if(tmpS.match(/\.*?\./g).length > 1){
							  tmpS = tmpS.substring(tmpS.indexOf('.')+1,tmpS.length);
						   	  tmpM = login.notifys.get(y)["servicoCount"].substring(0,login.notifys.get(y)["servicoCount"].indexOf('.'));
						  }				
						  js.underas.net.RequestManager.addRequest({
							"s" : tmpM+".business."+tmpS,
							"t"  : (y+1),
							"puid":"login",
							//"idRequest":(y+1),
							"idGrupo" : pidGrupo,
							"email":plogin,
							"idUsuario":pidUsuario,	
							"idOrganizacao":pidOrganizacao,
							"onLoad":function(dtasL){
									//funcao chamada deve retornar um inteiro com o total do servico
									var totalRs = dtasL.rs;
									if(totalRs > 0){									
										var x = parseInt(dtasL.t);	
										x--;
										var sList = login.notifys.get(x)["servicoList"];												
										var mody = sList;								
										var fnACT = "";
										if(sList.indexOf(":")>-1){
											var posiFn = sList.indexOf(":");
											fnACT = sList.substring(posiFn+1,sList.length);
											mody = sList.substring(0,posiFn);
										}					
										
										
									
										var tp_notic_obj = login.notifys.get(x)["tpNotificacao"];
										var tipoN =js.underas.controller.Notify.TP_SUCCESS;
										if(tp_notic_obj==2){
											tipoN = js.underas.controller.Notify.TP_WARNING;
										}else if(tp_notic_obj==3){
											tipoN = js.underas.controller.Notify.TP_ERROR;
										}
										
										mainNotifyPool.addNotify(new js.underas.controller.Notify({
											"title":login.notifys.get(x)["descricao"]
											,"subtitle":login.notifys.get(x)["mascara"]
											,"count":totalRs
											,"type":tipoN
											,"varmod":mody
											,"actmod":fnACT	 
											,"titlemod":login.notifys.get(x)["descricao"]
											,"iconmo":"file"															
										}));										
									}
							}});
					}					
				}				
			}
		});
		
	}
});
